<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定时器</title>
    <style>
        .box1 {
            width: 100px;
            height: 100px;
            background-color: tomato;
        }

        .box2 {
            width: 200px;
            height: 200px;
            background-color: deepskyblue;
            border: 2px red solid;
            border-radius: 20px;
            background: url(../10_DOM/images/IMG_3.JPG) center/cover;
            position: absolute;
        }
        .clock{
            text-align: center;
            font-size: 30px;
            font-weight: bold;
        }
    </style>
</head>

<body>
    <div class="box1"></div>
    <div class="clock"></div>
    <script>
        /* 
            通过定时器，可以使代码在指定事件后执行。
                设置定时器的方式有两种
                    1.setTimeout(回调函数,间隔时间)     只执行一次
                        参数：
                            第一个参数：回调函数（要执行的代码）
                            第二个参数：间隔的时间 （单位是ms）
                        clearTimeout(定时器标识)    关闭定时器
                    
                    2.setInterval(回调函数,间隔时间)    间隔一段时间再次执行
                        参数：
                            第一个参数：回调函数（要执行的代码）
                            第二个参数：间隔的时间 （单位是ms） 
                        clearInterval(定时器标识)    关闭定时器                  
        */

        const timer = setTimeout(() => {
            const box1 = document.getElementsByClassName("box1")[0]
            box1.classList.add("box2")
            document.onmousemove = (event) => {
                box1.style.left = event.clientX + "px"
                box1.style.top = event.clientY + "px"
            }

        }, 3000)

        clearTimeout(timer)


        const timer2 = setInterval((i = 0) => {
            console.log(i)
        }, 3000)

        clearInterval(timer2)


        const clock = document.getElementsByClassName("clock")[0]
        let num=0
        const timer3=setInterval(()=>{
            num++;
            clock.textContent=num
            if(num==30){

            clearInterval(timer3)
            }
        },100)


    </script>
</body>

</html>